home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / library / reqtlsdv.lha / ReqTools / Glue / M2Amiga / m2amiga_glue.lha / ReqToolsSupport.mod < prev   
Text File  |  1992-08-17  |  3KB  |  128 lines

  1. (*---------------------------------------------------------------------------
  2.   :Program.    ReqToolsSupport.mod
  3.   :Contents.   Umgehung von A4-Problem bei ReqTools-Funktionen
  4.   :Author.     Frank Lömker
  5.   :Copyright.  Public Domain
  6.   :Language.   Modula-2
  7.   :Translator. M2Amiga V4.0d
  8.   :Imports.    ReqTools [kai]
  9.   :History.    V1.0, [Frank Lömker] 24-Feb-92
  10.   :Bugs.       keine bekannt
  11. ---------------------------------------------------------------------------*)
  12.  
  13. IMPLEMENTATION MODULE ReqToolsSupport;
  14.  
  15. FROM UtilityD IMPORT TagItemPtr;
  16. FROM SYSTEM IMPORT ASSEMBLE,ADDRESS;
  17. IMPORT ReqTools;
  18.  
  19. (* Diese Prozeduren sind identisch zu denen aus ReqTools.def, benutzen aber
  20.    nicht das Register A4, so das der Aufruf von Modula aus möglich ist.
  21.  
  22.    This procedures are identical to these from ReqTools.def, but they do not
  23.    use register A4, so they can be used from Modula. *)
  24.  
  25. (*$ EntryExitCode:=FALSE *)
  26. PROCEDURE EZRequestA (bodyfmt{9}, gadfmt{10}: ADDRESS (*ARRAY OF CHAR*);
  27.                       reqInfo{11}: ReqTools.ReqInfoPtr;
  28.                       argarray{2}: ADDRESS;
  29.                       tagList{8}: TagItemPtr): LONGINT;
  30. BEGIN
  31.   ASSEMBLE (
  32.     MOVE.L A6,-(A7)
  33.     MOVEA.L ReqTools(A4),A6
  34.     EXG.L D2,A4
  35.     JSR -$42(A6)
  36.     EXG.L D2,A4
  37.     MOVEA.L (A7)+,A6
  38.     RTS
  39.   END);
  40. END EZRequestA;
  41.  
  42. (*$ EntryExitCode:=FALSE *)
  43. PROCEDURE EZRequestTags (bodyfmt{9}, gadfmt{10}: ADDRESS (*ARRAY OF CHAR*);
  44.                          reqInfo{11}: ReqTools.ReqInfoPtr;
  45.                          argarray{2}: ADDRESS;
  46.                          tag1{8}: TagItemPtr):LONGINT;
  47. BEGIN
  48.   ASSEMBLE (
  49.     MOVE.L A6,-(A7)
  50.     MOVEA.L ReqTools(A4),A6
  51.     EXG.L D2,A4
  52.     JSR -$42(A6)
  53.     EXG.L D2,A4
  54.     MOVEA.L (A7)+,A6
  55.     RTS
  56.   END);
  57. END EZRequestTags;
  58.  
  59. (*$ EntryExitCode:=FALSE *)
  60. PROCEDURE EZRequest (bodyfmt{9}, gadfmt{10}: ADDRESS (*ARRAY OF CHAR*);
  61.                      reqInfo{11}: ReqTools.ReqInfoPtr;
  62.                      tagList{8}: TagItemPtr;
  63.                      argarray{2}: ADDRESS (*LONGINT*)): LONGINT;
  64. BEGIN
  65.   ASSEMBLE (
  66.     MOVE.L A6,-(A7)
  67.     MOVEA.L ReqTools(A4),A6
  68.     EXG.L D2,A4
  69.     JSR -$42(A6)
  70.     EXG.L D2,A4
  71.     MOVEA.L (A7)+,A6
  72.     RTS
  73.   END);
  74. END EZRequest;
  75.  
  76. (*$ EntryExitCode:=FALSE *)
  77. PROCEDURE vEZRequestA (bodyfmt{9}, gadfmt{10}: ADDRESS (*ARRAY OF CHAR*);
  78.                        reqInfo{11}: ReqTools.ReqInfoPtr;
  79.                        argarray{2}: ADDRESS;
  80.                        tagList{8}: TagItemPtr);
  81. BEGIN
  82.   ASSEMBLE (
  83.     MOVE.L A6,-(A7)
  84.     MOVEA.L ReqTools(A4),A6
  85.     EXG.L D2,A4
  86.     JSR -$42(A6)
  87.     EXG.L D2,A4
  88.     MOVEA.L (A7)+,A6
  89.     RTS
  90.   END);
  91. END vEZRequestA;
  92.  
  93. (*$ EntryExitCode:=FALSE *)
  94. PROCEDURE vEZRequestTags (bodyfmt{9}, gadfmt{10}: ADDRESS (*ARRAY OF CHAR*);
  95.                           reqInfo{11}: ReqTools.ReqInfoPtr;
  96.                           argarray{2}: ADDRESS;
  97.                           tag1{8}: TagItemPtr);
  98. BEGIN
  99.   ASSEMBLE (
  100.     MOVE.L A6,-(A7)
  101.     MOVEA.L ReqTools(A4),A6
  102.     EXG.L D2,A4
  103.     JSR -$42(A6)
  104.     EXG.L D2,A4
  105.     MOVEA.L (A7)+,A6
  106.     RTS
  107.   END);
  108. END vEZRequestTags;
  109.  
  110. (*$ EntryExitCode:=FALSE *)
  111. PROCEDURE vEZRequest (bodyfmt{9}, gadfmt{10}: ADDRESS (*ARRAY OF CHAR*);
  112.                       reqInfo{11}: ReqTools.ReqInfoPtr;
  113.                       tagList{8}: TagItemPtr;
  114.                       argarray{2}: ADDRESS (*LONGINT*));
  115. BEGIN
  116.   ASSEMBLE (
  117.     MOVE.L A6,-(A7)
  118.     MOVEA.L ReqTools(A4),A6
  119.     EXG.L D2,A4
  120.     JSR -$42(A6)
  121.     EXG.L D2,A4
  122.     MOVEA.L (A7)+,A6
  123.     RTS
  124.   END);
  125. END vEZRequest;
  126.  
  127. END ReqToolsSupport.
  128.